#ifndef VALEUR_HPP
#define	VALEUR_HPP

#include "TableId.hpp"
#include "Type.hpp"


class Valeur {
	public:
    	Valeur();
    	Valeur(Type* t);
    	Valeur(Type* t, int i);
    	Valeur(Type* t, float f);
    	Valeur(Type* t, std::string* s);
    	Valeur(Type* t, bool b);
    	~Valeur();

    	bool getValeurBool();
    	int getValeurInteger();
    	float getValeurFloat();
    	std::string* getValeurString();
    	Type* getT();
    	void setType(Type* _type);
		string toString() const;

	private:
    	Type* type;
    	int i;
    	float f;
    	bool b;
    	std::string* s;

		void initStr();
};

#endif
